<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
    <link rel="stylesheet" type="text/css" href="../css/aui.2.0.css" />
</head>

<body>
    <header class="aui-bar aui-bar-nav" style="background-color: #03a9f4;position:fixed;" id="header">
        <a class="aui-pull-left aui-btn" tapmode onclick="closeWin();">
            <span class="aui-iconfont aui-icon-left"></span>
        </a>
        <div class="aui-title" id="title">
            发货转箱
        </div>
    </header>
    <div class="aui-content aui-margin-b-15" style="margin-top:50px;">
        <ul class="aui-list aui-form-list">
            <li class="aui-list-item">
                <div class="aui-list-item-inner">
                    <div class="aui-list-item-label">仓库</div>
                    <div class="aui-list-item-input">
                        <input type="text" placeholder="选择/扫描 仓库" id="workCenterCode" value="" onclick="getIdSelector();" />
                    </div>
                    <i class="aui-input-addon aui-iconfont aui-icon-right" onclick="goSelectWorkCenter()"></i>
                </div>
            </li>
            <li class="aui-list-item">
                <div class="aui-list-item-inner">
                    <div class="aui-list-item-label">库位</div>
                    <div class="aui-list-item-input">
                        <input type="text" placeholder="选择/扫描 库位" id="workCellCode" value="" onclick="getIdSelector();" />
                    </div>
                    <i class="aui-input-addon aui-iconfont aui-icon-right" onclick="goSelectWorkCell()"></i>
                </div>
            </li>
            <li class="aui-list-item">
                <div class="aui-list-item-inner">
                    <div class="aui-list-item-label">调入库位</div>
                    <div class="aui-list-item-input">
                        <input type="text" placeholder="选择/扫描 调入库位" id="relWorkCellCode" value="" onclick="getIdSelector();" />
                    </div>
                    <i class="aui-input-addon aui-iconfont aui-icon-right" onclick="goSelectRelWorkCell()"></i>
                </div>
            </li>
            <li class="aui-list-item">
                <div class="aui-list-item-inner">
                    <div class="aui-list-item-label">物料</div>
                    <div class="aui-list-item-input">
                        <input type="text" placeholder="选择物料" id="mrlName" value="" onclick="getIdSelector();" />
                    </div>
                    <i class="aui-input-addon aui-iconfont aui-icon-right" onclick="goSelectMrlName()"></i>
                </div>
            </li>
          <li class="aui-list-item">
              <div class="aui-list-item-inner">
                  <div class="aui-list-item-label">包装数</div>
                  <div class="aui-list-item-input">
                      <input type="packQty" id="packQty" >
                  </div>
              </div>
          </li>
          <li class="aui-list-item">
            <div class="aui-list-item-inner">
                <div class="aui-list-item-label">整包数</div>
                <div class="aui-list-item-input">
                    <input type="wholePackQty" id="wholePackQty" value="1">
                </div>
            </div>
        </li>
            <li class="aui-list-item">
                <div class="aui-list-item-inner">
                    <div class="aui-list-item-label">蓝牙设备</div>
                    <select id="bluetooth">
                    </select>
                </div>
            </li>
        </ul>
        <div style="width:100%;margin-top:2%;"></div>
        <div class="aui-btn aui-btn-info aui-btn-block" onclick="save()" id="submitButton">保存</div>
        <div style="width:100%;margin-top:2%;"></div>
        <div class="aui-btn aui-btn-info aui-btn-block" onclick="bluetoothConnect()">蓝牙连接</div>
       <!-- <div style="width:100%;margin-top:2%;"></div>
       <div class="aui-btn aui-btn-info aui-btn-block" onclick="printBad()">打印</div> -->

    </div>

    <footer class="aui-bar aui-bar-tab" id="footer">
        <div class="aui-bar-tab-item" tapmode id="scan" onclick="doScan()">
            <i class="aui-iconfont aui-icon-scan aui-text-epblue" style="font-size: 1.8rem"></i>
        </div>
    </footer>
</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="../script/public.js"></script>
<script type="text/javascript" src="../script/clickThrottle.js"></script>
<script type="text/javascript">
    //光标所在id
    var idSelector = "";
    var maxQty = ""; //工单计划数
    var workCellGid = "";//库位ID
    var workCenterGid = "";//仓库ID
    var relWorkCellGid = "" //调入库位ID
    var mrlGid = ""//物料ID
    var relWorkCellName = ""
    //初始化
    apiready = function() {
        $("#workCenterCode").focus();
        idSelector = "workCenterCode";

        //获取蓝牙列表
        getBluetoothCombox();
    }

    // 获取光标所在组件的id
    function getIdSelector() {
        var e = event || window.event;
        var el = e.srcElement || e.target;
        idSelector = el.id;
        $("#" + el.id).select();
    }

    //查询蓝牙设备
    function getBluetoothCombox() {
        var modulePrinterCpcl = api.require('modulePrinterCpcl');
        modulePrinterCpcl.searchBluetooth({}, function(ret, err) {
            if (ret) {
                if (ret.code == "S") {
                    var list = ret.list;
                    var html = "<option value=''>--请选择--</option>";
                    for (var i = 0; i < list.length; i++) {
                        html += "<option value='" + list[i].code + "'>" + list[i].name + "</option>";
                    }
                    $api.html($api.byId("bluetooth"), html);

                    //取缓存中蓝牙设备打印机
                    var bluetooth = localStorage.getItem('bluetooth');
                    if (bluetooth != null && bluetooth != undefined && bluetooth != "") {
                        $("#bluetooth").val(bluetooth);
                    }

                } else {
                    api.toast({
                        msg: ret.message
                    });
                }
            } else {
                alert(JSON.stringify(err));
            }
        });
    }

    //蓝牙连接
    function bluetoothConnect() {
        var address = $("#bluetooth").val();
        if (address == null || address == "" || address == undefined) {
            api.toast({
                msg: "请选择蓝牙"
            });
            return;
        }
        var modulePrinterCpcl = api.require('modulePrinterCpcl');
        modulePrinterCpcl.connectBluetooth({
            address: address,
        }, function(ret, err) {
            if (ret) {
                // api.hideProgress();
                if (ret.code == "S") {
                    api.toast({
                        msg: ret.message
                    });
                } else {
                    api.toast({
                        msg: ret.message
                    });
                }
            } else {
                // api.hideProgress();
                alert(JSON.stringify(err));
            }
        });
    }

   

    //扫描
    function doScan() {
        var moduleScanner = api.require('moduleScanner');
        var params = {
            top: 150, //扫描窗口的上边距
            width: 250, //扫描窗口的宽
            height: 250, //扫描窗口的高
            useColor: false, //是否使用自己设定的颜色(startColor和endColor),
            //如果不使用设定的颜色就使用默认的那张网格图
            startColor: '#0F08C8FF', //渐变起始颜色
            endColor: '#7F08C8FF', //渐变结束颜色
            animTime: 2200, //扫描动画时间,单位为毫秒
        };
        moduleScanner.toScannerActivityForResult(params, function(ret, err) {
            //alert(ret);扫码的结果都是编码
            //1：仓库
            if (idSelector == 'workCenterCode') {

                $("#workCenterCode").val(ret);
                //查询仓库
                getWorkCenter(ret, idSelector);

                //2:库位
            } else if (idSelector == 'workCellCode') {

                $("#workCellCode").val(ret);
                //查询库位
                getWorkCell(ret, idSelector);
                //3:调入库位
            } else if(idSelector == 'relWorkCellCode'){
                $("#relWorkCellCode").val(ret);
                //查询库位
                getWorkCell(ret, idSelector);
            }
        });
    }

    //1：仓库扫描校验
    function getWorkCenter(code, inputId) {
        var un = localStorage.getItem('un');
        var serverUrl = localStorage.getItem('serverUrl');
        var url = serverUrl + "/app/getWorkCenter";
        var data = {
            values: { ////以表单方式提交参数（JSON对象）
                workCenterCode: code,
                mrlCode: "",
                lotCode: "",
                qty: "",
                un:un
            }
        };
        api.ajax({
            url: url,
            method: 'post',
            dataType: 'json',
            timeout: 300,
            returnAll: false,
            data: data
        }, function(ret, err) {
            if (ret) {
                var data = JSON.stringify(ret);
                var myobj = eval("(" + data + ")");
                //成功
                if (myobj.code == '0') {
                    var list = eval(myobj.list);
                    workCenterGid = list[0].workCenterGid;
                    workCenterCode = list[0].workCenterCode;
                    workCenterName = list[0].workCenterName;
                    document.getElementById(inputId).value = list[0].workCenterCode + ":" + list[0].workCenterName;
                    $("#workCellCode").focus();
                    idSelector = "workCellCode";

                } else {
                    api.toast({
                        msg: myobj.message,
                        duration: 3000
                    });
                    $("#workCenterCode").focus();
                    $("#workCenterCode").select();
                }
            }
        });
    }

    //2：选中仓库
    function goSelectWorkCenter() {
        api.openWin({
            name: 'uwmSelectWorkCenter',
            url: 'uwmSelectWorkCenter.html',
            pageParam: {
                flag: "in",
                name: "mdShippingTransfer",
                mrlCode: "",
                lotCode: "",
                qty: ""
            }
        });
    }

    //仓库选择后回调函数
    function setWorkCenter(id, code, name) {
        workCenterGid = id;
        workCenterCode = code;
        workCenterName = name;
        //$("#workCenterCode").attr("value",code+":"+name);
        document.getElementById('workCenterCode').value = code + ":" + name;
        $("#workCellCode").focus();
        idSelector = "workCellCode";
    }

    //3；PDA自带扫描回车事件
    $("#workCenterCode").on('keypress', function(e) { //#keyword为input文本框
        var keycode = e.keyCode;
        var sm = $(this).val();
        if (keycode == '13') {
            //仓库编码
            $("#workCenterCode").val(sm);
            // console.log("扫描回车事件：" + sm);
            //校验改箱码是否存在
            getWorkCenter(sm, "workCenterCode");
        }
    });

    //5:库位扫描校验
    function getWorkCell(code, inputId) {
        var un = localStorage.getItem("un");
        var serverUrl = localStorage.getItem('serverUrl');
        var url = serverUrl + "/app/getWorkCell";
        var data = {
            values: {
                flag: "in_rk", //库内库间标识（out_kn库内  out_kj库间,in_rk入库出库）
                workCenterGid: workCenterGid, //仓库GID
                workCellCode: code, //库位编码
                relWorkCellGid: "", //调入库位
                tm: "",
                workCellFlag: "", //原库位调入库位flag
                un: un
            }
        };
        api.ajax({
            url: url,
            method: 'post',
            dataType: 'json',
            timeout: 300,
            returnAll: false,
            data: data
        }, function(ret, err) {
            if (ret) {
                var data = JSON.stringify(ret);
                var myobj = eval("(" + data + ")");
                if (myobj.code == '0') {
                    var list = eval(myobj.list);
                    workCellGid = list[0].workCellGid;
                    workCellCode = list[0].workCellCode;
                    workCellName = list[0].workCellName;
                    document.getElementById(inputId).value = list[0].workCellCode + ":" + list[0].workCellName;

                } else {
                    api.toast({
                        msg: myobj.message,
                        duration: 3000
                    });
                    $("#workCellCode").focus();
                    $("#workCellCode").select();
                }
            }
        });
    }

    //选择库位
    function goSelectWorkCell() {
        api.openWin({
            name: 'uwmSelectWorkCell',
            url: 'uwmSelectWorkCell.html',
            pageParam: {
                flag: "in_rk",
                name: "mdShippingTransfer",
                tm: "",
                workCenterGid: workCenterGid,
                relWorkCellGid: "",
                workCellFlag: "1"
            }
        });
    }
    //选择调入库位
    function goSelectRelWorkCell() {
            api.openWin({
                name: 'uwmSelectWorkCell',
                url: 'uwmSelectWorkCell.html',
                pageParam: {
                    flag: "out_kj",
                    name: "mdShippingTransfer",
                    tm: "",
                    workCenterGid: "",
                    relWorkCellGid: "",
                    workCellFlag: "2"
                }
            });
        }
    //库位选择后回调函数
    function setWorkCell(id, code, name, workCellFlag) {
        //源库位
        if (workCellFlag == undefined || workCellFlag =="") {

            workCellGid = id;
            workCellCode = code;
            workCellName = name;
            document.getElementById('workCellCode').value = code + ":" + name;

            //调入库位
        } else if (workCellFlag == "2") {

            relWorkCellGid = id;
            relWorkCellCode = code;
            relWorkCellName = name;
            document.getElementById('relWorkCellCode').value = code + ":" + name;
            $("#workCellCode").focus();
            var e = "workCellCode";
            idSelector = e;
        }
        }
    //选择物料
    function goSelectMrlName(){
        //仓库非空校验
        if (workCenterGid == null || workCenterGid == "" || workCenterGid == undefined) {
            api.toast({
                msg: '请选择/扫描仓库!',
                duration: 3000
            });
            return;
        }
        //库位非空校验
        if (workCellGid == null || workCellGid == "" || workCellGid == undefined) {
            api.toast({
                msg: '请选择/扫描库位!',
                duration: 3000
            });
            return;
        }
        api.openWin({
                name: 'goSelectMrlName',
                url: 'goSelectMrlName.html',
                pageParam: {
                    name: "mdShippingTransfer",
                    workCenterGid: workCenterGid,
                    workCellGid: workCellGid,
                }
            });
    }
    //物料选择后回调函数
    function setMrlName(id, code, name) {
        mrlGid = id;
        document.getElementById('mrlName').value = code + ":" + name;
    }
    

    //7；PDA自带扫描回车事件-库位
    $("#workCellCode").on('keypress', function(e) { //#keyword为input文本框
        var keycode = e.keyCode;
        var sm = $(this).val();
        if (keycode == '13') {
            //仓库编码
            $("#workCellCode").val(sm);
            //校验改箱码是否存在
            getWorkCell(sm, "workCellCode");
        }
    });




    //录数打印
    function printBad() {

        var address = $("#bluetooth").val();

        //取工单号
        var workOrderCode = $("#workOrderCode").val();

        //取工单号
        var qty = $("#qty").val();

        //打印机非空校验
        if (address == null || address == "" || address == undefined) {
            api.toast({
                msg: '请选择打印机!',
                duration: 3000
            });
            return;
        }

        //工单号非空校验
        if (workOrderCode == null || workOrderCode == "" || workOrderCode == undefined) {
            api.toast({
                msg: '请录入工单号',
                duration: 3000
            });
            return;
        }

        //转移数量非空校验
        if (qty == "" || qty == null || qty == undefined) {
            api.toast({
                msg: '请输入报废数量',
                duration: 3000
            });
            return;
        } else  {
            if (parseFloat(qty) <= 0) {
                api.toast({
                    msg: '报废数量必须大于0',
                    duration: 3000
                });
                return;
            }else if(parseInt(qty) > maxQty){
              api.toast({
                  msg: '报废数量必须小于工单计划数',
                  duration: 3000
              });
              return;
            }
        }
        //菜单参数
        var query = api.pageParam.query;
        var printText = query.printText

        localStorage.setItem('bluetooth', address);

        var un = localStorage.getItem("un");
        var serverUrl = localStorage.getItem('serverUrl');
        var url = serverUrl + "/app/paDefectiveTmCreateSave";
        var data = {
            values: {
                workOrderCode: workOrderCode,
                qty: qty,
                un: un,
                printText : printText
            }
        };
        api.ajax({
            url: url,
            method: 'post',
            dataType: 'json',
            timeout: 300,
            returnAll: false,
            data: data
        }, function(ret, err) {
            if (ret) {
                var data = JSON.stringify(ret);
                var myobj = eval("(" + data + ")");

                //返回成功
                if (myobj.code == "0") {

                    var json = myobj.json;
                    //调用PDA打印
                    printPDA(json, address);

                } else if (myobj.code == "1") {

                    api.toast({
                        msg: myobj.message,
                        duration: 3000
                    });
                }
            }
        });

    }





    //打印
    function printPDA(json, address) {
        var modulePrinterCT = api.require('modulePrinterCT');
        modulePrinterCT.printerPlatform({
            json: json, //打印数据JSON
            address: address //蓝牙地址
        }, function(ret, err) {
            if (ret) {
                if (ret.code == "S") {
                    api.toast({
                        msg: "打印成功"
                    });
                } else {
                    api.toast({
                        msg: ret.message
                    });
                }
            } else {
                alert(JSON.stringify(err));
            }
        });
    }

    //保存按钮
    function save() {
        if (!clickThrottle()) {
            return;
        }
        //仓库ID workCenterGid
        //库位ID workCellGid
        //调入库位ID relWorkCellGid
        //物料ID mrlGid
        //包装数
        var packQty = $("#packQty").val();
        //蓝牙地址
        var address = $("#bluetooth").val();
        //整包数
        var wholePackQty = $("#wholePackQty").val();
        //子业务参数
        var query = api.pageParam.query;
        var subBusinessType = query.subBusinessType;
        const submitButton = document.getElementById('submitButton');
        submitButton.style.pointerEvents = "none"
        //仓库非空校验
        if (workCenterGid == "" || workCenterGid == null || workCenterGid == undefined) {
            api.toast({
                msg: '请选择/扫描 仓库',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }
        //库位非空校验
        if (workCellGid == "" || workCellGid == null || workCellGid == undefined) {
            api.toast({
                msg: '请选择/扫描 库位',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }
        //调入库位非空校验
        if (relWorkCellGid == "" || relWorkCellGid == null || relWorkCellGid == undefined) {
            api.toast({
                msg: '请选择/扫描 调入库位',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }
        //包装数非空校验
        if (packQty == "" || packQty == null || packQty == undefined) {
            api.toast({
                msg: '包装数不能为空',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }
        //整包数非空校验
        if (wholePackQty == "" || wholePackQty == null || wholePackQty == undefined) {
            api.toast({
                msg: '整包数不能为空',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }

        //源库位和调入库位不能一样
        if (workCellGid != null && workCellGid != "" && workCellGid == relWorkCellGid) {
            api.toast({
                msg: '源库位和调入库位不能一样',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }
        //打印机非空校验
        if (address == null || address == "" || address == undefined) {
            api.toast({
                msg: '请选择打印机!',
                duration: 3000
            });
            submitButton.style.pointerEvents = "auto"
            return;
        }
        api.showProgress({
            title: '保存中...',
        });
        var un = localStorage.getItem('un');
        var serverUrl = localStorage.getItem('serverUrl');
        var url = serverUrl + "/app/saveMdShippingTransfer";
        var data = {
            values: { ////以表单方式提交参数（JSON对象）
                workCenterGid: workCenterGid, // 仓库
                workCellGid : workCellGid,// 库位
                relWorkCellGid : relWorkCellGid,// 调入库位
                mrlGid : mrlGid,//物料ID
                packQty : packQty,//包装数
                wholePackQty : wholePackQty,//整包数
                subBusinessType : subBusinessType,//子业务参数
                un: un
            }
        };
        api.ajax({
            url: url,
            method: 'post',
            dataType: 'json',
            timeout: 300,
            returnAll: false,
            data: data
        }, function(ret, err) {
            if (ret) {
                var data = JSON.stringify(ret);
                var myobj = eval("(" + data + ")");
                //成功
                if (myobj.code == '0') {
                    api.hideProgress();
                    submitButton.style.pointerEvents = "auto"
                    api.toast({
                        msg: "保存成功",
                        duration: 3000
                    });
                    
                    $("#workCenterCode").val("");
                    $("#workCellCode").val("");
                    $("#mrlName").val("");
                    $("#relWorkCellCode").val("");
                    $("#packQty").val("");
                    idSelector = "";
                    workCellGid = "";//库位ID
                    workCenterGid = "";//仓库ID
                    relWorkCellGid = "" //调入库位ID
                    mrlGid = ""//物料ID
                    relWorkCellName = ""

                    idSelector = "workCenterCode";

                    var json = myobj.json;
                    //调用PDA打印
                    printPDA(json, address);
                } else if (myobj.code == '1') {
                    api.hideProgress();
                    submitButton.style.pointerEvents = "auto"
                    api.toast({
                        msg: myobj.message,
                        duration: 3000
                    });
                }
            } else {
                api.hideProgress();
                submitButton.style.pointerEvents = "auto"
                alert(JSON.stringify(err));
            }
        });
        }

    //订单返回按钮
    function closeWin() {
        api.closeWin({});
    }
</script>

</html>
